Python 3.10の新機能(その7) ユーザ定義型ガード
https://www.python.jp/news/wnpython310/userdefinedtypegurd.html
#Python_typing
#typing.TypeGuard
型の絞り込み(type narrowing)
プログラムの処理から型の情報を取得すること
型ガード(type guard)
型チェッカが型の絞り込みに利用する条件
例:
isinstance
型チェッカは、isinstance() の他にも、次のような比較条件なども型ガードとして利用します。
型チェッカ向けの型の絞り込み条件をユーザが定義できる
のが、ユーザ定義型ガード(と理解した)
TypeGuardを使わない場合
print_user(cast(UserInfo, d))
(
typing.cast
)